在機器學習中,不一定要將資料集的所有欄位資料都加入模型,我們可以保留一些對結果預估影響力強的欄位,也篩選掉一些對結果無影響或不相關的欄位,而線性相關可以計算兩個變數的相關性為正相關還是負相關,以及相關的程度為何,所以可以依據線性相關值來作為欄位篩選的條件,在 Azure Machine Learning Studio 中,可以使用 Compute Linear Correlation 來計算兩個欄位的線性相關值,要注意的是,它不能計算非數值的資料,所以如果是非數值欄位,需要先轉換資料型態才能計算。
位置:Statistical Functions / Compute Linear Correlation
新增 Adult Census Income Binary Classification dataset Census Income dataset 成人收入調查的二元分類資料集,滑鼠右鍵點選 Visualize 檢視資料內容
因為要計算線性相關,挑了 3 個數值資料(age、education-num、hours-per-week)以及一個非數值資料(sex)來測試
新增 Select Columns in Dataset,點選右手邊 Launch column selector 開啟欄位選擇工具
選取 age 年齡、education-num 教育程度、sex 性別、hours-per-week 每週工時 這 4 個欄位,點選右下角勾勾確認
新增 Compute Linear Correlation 計算線性相關,將資料集輸出接至 Compute Linear Correlation
執行計算
執行完成後,點選 Visualize 檢視計算結果
計算 N 個欄位的線性相關的結果會以 N * N 矩陣顯示,每一個數值代表自己欄位與另一個欄位的相關程度,值範圍會介於 -1 到 1 之間,1 代表最強正相關、 -1 代表最強負相關、 0 代表無線性相關、NaN 則是因為非數值資料。
以上圖為例,age 年齡與其他欄位相關程度分別為:
所以,對 age 年齡而言,與 hours-per-week 每週工時的相關程度 > 與 education-num 教育程度的相關程度。
若總體來看這 4 個欄位的線性相關值,可以發現: